# 期待用户输入版本，默认3.9.1
version=${1:-3.9.1}
# 设置Python3下载路径
url="https://www.python.org/ftp/python/${version}/Python-${version}.tgz"
# 使用curl发送HEAD请求（不下载页面内容，只获取头信息）
if curl --output /dev/null --silent --head --fail "$url"; then
    echo "Python ${version}版本存在"
else
    echo "Python ${version}版本不存在, 退出脚本"
    exit
fi

# 判断是否已存在python3
if command -v python3 &>/dev/null; then
    # 显示Python3的版本号
    python_version=$(python3 --version 2>&1 | cut -d ' ' -f2)
    echo "Python3已存在, 版本号为: $python_version"
    # 提示用户选择
    read -p "继续执行脚本吗？(y/n): " choice
    # 根据用户的选择进行判断，如果不是y或者Y都退出脚本
    if ! [ "$choice" == "y" ] || [ "$choice" == "Y" ]; then
        exit
    fi

fi

# 判断是否存在文件安装路径和下载路径
if [ ! -d /data/python3 ]; then
    mkdir -p /data/python3
fi

if [ ! -d "/vdata" ]; then
    mkdir -p /vdata
fi

# 进入下载文件目录
cd /vdata
# 安装依赖环境
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel

# 检查文件是否存在
if ! test -f /vdata/Python-${version}.tgz; then
    # 下载Python${version}到/vdata
    wget  https://www.python.org/ftp/python/${version}/Python-${version}.tgz
fi

# 解压tgz文件
tar -zxvf Python-${version}.tgz

# 编译安装
cd Python-${version}/
./configure --prefix=/data/python3 #根据自己的文件路径更改
make && make install
# 创建软连接
cd /data/python3/
ln -s /data/python3/bin/python3 /usr/bin/python3

# 编辑Python${version}系统路径
sudo tee -a ~/.bash_profile <<-'EOF'

PYTHON_PATH=$PATH:$HOME/bin:/data/python3/bin
export PYTHON_PATH

EOF
# 重置生效
source ~/.bash_profile

# 创建软链接
ln -s /data/python3/bin/pip3 /usr/bin/pip3





